#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
//int main()
//{
//	/*int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int arr2[10] = { 0 };*/
//	char arr1[] = "abcdef";
//	char arr2[20] = "0";
//	memcpy(arr2, arr1, 3);
//	/*int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr2[i]);
//	}*/
//	printf("%s ", arr2);
//	return 0;
//}
//void* memcpy(void* dst, const void* src, size_t count)
//{
//	void* ret = dst;
//	assert(dst);
//	assert(src);
//	/*
//	* copy from lower addresses to higher addresses
//	*/
//	while (count--) {
//		*(char*)dst = *(char*)src;
//		dst = (char*)dst + 1;
//		src = (char*)src + 1;
//	}
//	return(ret);
//}
//void* my_memmove(void* dst, const void* src, size_t count)
//{
//    void* ret = dst;
//    if (dst <= src || (char*)dst >= ((char*)src + count)) {
//        /*
//         * Non-Overlapping Buffers
//         * copy from lower addresses to higher addresses
//         */
//        while (count--) {
//            *(char*)dst = *(char*)src;
//            dst = (char*)dst + 1;
//            src = (char*)src + 1;
//        }
//    }
//    else {
//        /*
//         * Overlapping Buffers
//         * copy from higher addresses to lower addresses
//         */
//        dst = (char*)dst + count - 1;
//        src = (char*)src + count - 1;
//        while (count--) {
//            *(char*)dst = *(char*)src;
//            dst = (char*)dst - 1;
//            src = (char*)src - 1;
//        }
//    }
//    return(ret);
//}
//int main()
//{
//    int arr1[] = { 1,2,3,4,5,6 };
//    my_memmove(arr1 + 3,arr1+2, 12);
//    int i = 0;
//    for (i = 0; i <6; i++)
//    {
//        printf("%d ", arr1[i]);
//    }
//    return 0;
//}
//#include<stdio.h>
//void* my_memset(void* ptr, int value, size_t num)
//{
//	while (num--)
//	{
//		*((char*)ptr) = value + '0';
//		ptr = (char*)ptr + 1;
//	}
//}
//int main()
//{
//	char arr[] = "abcdefgh";
//	printf("%s\n", arr);
//	my_memset(arr + 1, 6, 3);
//	printf("%s\n", arr);
//	return 0;
//}
//int main()
//{
//	char str[] = "hello world";
//	memset(str, 'x', 6);
//	printf(str);
//	return 0;
//}
//int main()
//{
//	/*char buffer1[] = "dwgaotp12df0";
//	char buffer2[] = "dwgaotp12df0";*/
//	int  buffer1[] = { 1,2,3,4,5,6 };
//	int  buffer2[] = { 2,3,4,5,6,7 };
//	int n;
//	n = memcmp(buffer1, buffer2, sizeof(buffer1));
//	/*if (n > 0)
//		printf("'%s' is greater than '%s'.\n", buffer1, buffer2);
//	else if (n < 0)
//		printf("'%s' is less than '%s'.\n", buffer1, buffer2);
//	else
//		printf("'%s' is the same as '%s'.\n", buffer1, buffer2);*/
//	if (n > 0)
//	{
//		printf("%d", 1);
//	}
//	else if (n < 0)
//		printf("%d", -1);
//	else
//		printf("%d", 0);
//	return 0;
//}
//#include<stdio.h>
//void* my_memcmp(const void* ptr1, const void* ptr2, size_t num)
//{
//	while (num--)
//	{
//		if (*(char*)ptr1 == *(char*)ptr2)
//		{
//			ptr1 = (char*)ptr1 + 1;
//			ptr2 = (char*)ptr2 + 1;
//		}
//		else
//		{
//			return *(char*)ptr1 - *(char*)ptr2;
//		}
//	}
//}
//int main()
//{
//	char s1[] = "abcd456ef";
//	char s2[] = "abef789nmn";
//	int ret = my_memcmp(s1, s2, 5);
//	printf("%d", ret);
//
//	return 0;
//}
int main()
{
	int str[] = { 1,2,3,4,5,6,7,8 };
	memset(str,1,12);
	for (int i = 0; i < (sizeof(str) / sizeof(str[0])); i++)
	{
		printf("%d", str[i]);
	}
	return 0;
}
